@devx-commerce/plugin-loyalty
Version:
A starter for Medusa plugins.
29 lines • 2.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GET = GET;
const error_handler_1 = require("../../../../utils/error-handler");
const response_handler_1 = require("../../../../utils/response-handler");
const loyalty_1 = require("../../../../modules/loyalty");
const utils_1 = require("@medusajs/framework/utils");
async function GET(req, res) {
try {
const loyaltyModuleService = req.scope.resolve(loyalty_1.LOYALTY_MODULE);
const customerId = req.params.customerId;
const query = req.scope.resolve(utils_1.Modules.CUSTOMER);
const customer = await query.retrieveCustomer(customerId);
if (!customer) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Customer must have an account to earn or manage points");
}
const wallet = await loyaltyModuleService.createOrRetrieveWallet(customerId);
const transactions = await loyaltyModuleService.listLoyaltyTransactions({
referrer_id: wallet.id,
}, {
relations: ["loyalty_wallet"],
});
(0, response_handler_1.sendSuccessResponse)(res, transactions);
}
catch (error) {
(0, error_handler_1.handleError)(error, res);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2xveWFsdHktcmVmZXJyYWxzL1tjdXN0b21lcklkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVNBLGtCQThCQztBQXJDRCxtRUFBOEQ7QUFDOUQseUVBQXlFO0FBR3pFLHlEQUE2RDtBQUM3RCxxREFBaUU7QUFFMUQsS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQy9ELElBQUksQ0FBQztRQUNILE1BQU0sb0JBQW9CLEdBQ3hCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHdCQUFjLENBQUMsQ0FBQztRQUNwQyxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUN6QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFbEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsd0RBQXdELENBQ3pELENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FDOUQsVUFBVSxDQUNYLENBQUM7UUFDRixNQUFNLFlBQVksR0FBRyxNQUFNLG9CQUFvQixDQUFDLHVCQUF1QixDQUNyRTtZQUNFLFdBQVcsRUFBRSxNQUFNLENBQUMsRUFBRTtTQUN2QixFQUNEO1lBQ0UsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7U0FDOUIsQ0FDRixDQUFDO1FBRUYsSUFBQSxzQ0FBbUIsRUFBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUFBLDJCQUFXLEVBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7QUFDSCxDQUFDIn0=